草庐IT

VOC 2012

全部标签

c++ - 为什么发布版本 memset 比 visual studio 2012 中的调试版本慢?

为什么在visualstudio2012中发布版本的memset比调试版本慢?在visualsutido2010中,也是这个结果。我的电脑:英特尔酷睿i7-37703.40GHz8G内存操作系统:Windows7SP164位这是我的测试代码:#includeintmain(){constintSize=1000*1024*1024;char*Data=(char*)malloc(Size);#ifdef_DEBUGprintf_s("debug\n");#elseprintf_s("release\n");#endifboost::progress_timertimer;memset(

c++ - Visual Studio 2012 中的 strcpy() 错误

所以我有这段代码:#include"stdafx.h"#include#include#includeusingnamespacestd;...char*b=newchar[10];strcpy(b,"1234567890");错误:microsoftvisualstudio11.0\vc\include\string.h(110):请参阅“strcpy”声明我该如何解决? 最佳答案 快速修复是将_CRT_SECURE_NO_WARNINGS定义添加到您的项目设置右键单击您的C++并选择“属性”项以进入属性窗口。现在按照并扩展到“配

c++ - Visual Studio 2012 没有安装 C-Header?

我已经安装了VisualStudio2012并使用它工作了大约2周。但是现在我想开始一个C++项目(我通常是c#程序员)并且我写了一些简单的代码。之后我想编译它,但出现了很多错误……没有标准的c头文件。我做了什么:创建了一个新的Win32项目(空项目)使用这些创建的代码包括:#include#include#include#includeWindows.h是找到了,其余没有。有人有想法吗?我还查看了IncludeDirectories:$(VCInstallDir)include$(VCInstallDir)atlmfc\include$(WindowsSDK_IncludePath)

c++ - 更改 .cpp 文件导致 Visual Studio 2012 重新编译不相关的文件

想知道是否有人知道如何解决这个问题;我有一个特定的.cpp文件,出于某种原因,每当我修改它(甚至只是添加一个空白字符)并构建项目时,都会导致重新编译许多其他不相关的.cpp文件(其中10-20个)。那个文件没有#include'在任何其他文件中(我从来没有直接#include.cpp文件,只有.h)并且没有我能想到的其他依赖项-在我看来,VisualStudio是误解依赖树,或者有一些与其构建过程相关的损坏的内部状态。我试过删除.sdf,.suo,ipch/,.user,和object文件目录,但不久后问题又出现了。如预期的那样,修改任何其他.cpp文件只会导致重新编译该文件。我对MS

c++ - 测试 Visual Studio 2012 控制台应用程序的输入/输出

我正在开发一个程序,它从标准输入读取一些输入,对其进行处理,然后将一些输出写入标准输出。为了不必每次都输入样本/测试输入,我已将输入保存到一个TXT文件,并将相应的预期输出保存到另一个TXT文件。我如何运行我的可执行文件(最好是在调试或Release模式下,或者可能在分析器下),以便VS自动提供输入TXT文件?VS可以自动检查程序的输出与预期的输出TXT文件吗?如果它们不相同,它会向我显示并排差异,那就太好了。我可以设置测试框架以使用不同的输入/预期输出文件运行各种测试吗?请注意,我不能只使用普通的单元测试,因为我必须进行集成测试。编辑:为了它的值(value),我正在使用C++。

c++ - MSVC 2012 通过 SFINAE 检测模板函数的模板参数数量

我正在尝试做的事情:我有一个模板对象传入,作为接口(interface)的一部分,它应该有一个定义了一些参数(我不知道有多少)的“过程”函数其中是模板参数。即structA{staticvoidprocess(inta);};structB{templatestaticvoidprocess(inta,B0b0);};都是要接收的有效处理程序。所以现在我需要检测处理程序的签名:静态类型参数和一些模板参数。为此,我使用了一些模板魔术技巧,这些技巧可能会缩小到有问题的部分-检测多个模板参数(或只是检索模板签名)。我试图找出所需信息的方法是使用Isitpossibletowriteatemp

c++ - 使用 Visual Studio 2012 的静态链接 msvcrt 中的异常

VS2012的静态链接版本好像有问题。每当使用流时,在旧系统上启动控制台应用程序都会导致异常,尽管新系统根本不会造成任何问题。要重现此错误,只需在VS2012中创建一个新的控制台应用程序添加行std::ofstreamf;或std::cout在主函数中(根据需要包括fstream或iostream)切换到v110_xp工具集(如果WindowsXP需要)切换到静态链接库(/MT)在旧系统上启动exe总有异常(exception)。删除带有ofstream或cout的行总能解决问题。切换到动态链接的运行时库(/MD)总能解决问题。在ofstream的情况下,使用大小优化(/O1)或不优化

c++ - visual studio 2012 因断点而崩溃

这是最近才开始发生的。我试过修复没有用的VisualStudio。每当我尝试使用断点进行调试时,VisualStudio都会崩溃。我尝试使用全新的解决方案并使用devenv.exe/resetuserdata重置我的用户信息。它似乎在“加载msvcr110d.dll的符号”时崩溃。没有断点的调试(这毫无用处)似乎工作得很好。我还尝试过以管理员身份运行VisualStudio。调试C#项目也能正常工作(断点和所有)。 最佳答案 尝试启用native编辑并继续(选项->调试->编辑并继续->启用native编辑并继续)

c++ - GoingNative2012看到的operator""是什么

我最近看了GoingNative2012,当然还有C++11。在BjarneStroustrup部分,我发现有一个有趣的运算符函数,如下所示。constexprValueoperator""s(longdoubled){returnValue(d);}好吧,除了看起来像是C++11中的新关键字的constexpr之外,我从来不知道""可以重载?尽管我使用VS2010测试失败,但这是C++中的新功能之一吗?提前致谢。 最佳答案 这是一个新的C++11核心语言功能:userdefinedlitterals

c++ - 将 VS 2012 迁移到 VS 2015 后 C++ 项目中的 Xmemory 错误

我的项目在VisualStudio2012中正常运行和编译。但是我试图在装有VS2015的计算机中打开它,但出现156个错误。全部相同并且都在同一个文件和相同的3行中:严重性代码描述项目文件行抑制状态ErrorC2338TheC++Standardforbidscontainersofconstelementsbecauseallocatorisill-formed.leafc:\programfiles(x86)\microsoftvisualstudio14.0\vc\include\xmemory0585ErrorC2535'constlong*std::allocator::a